#include <bits/stdc++.h>
using namespace std;

class Test{
public:
	vector<int> nextGreaterElements(vector<int>& nums) {
		stack<int> st;
		vector<int> result(nums.size(),-1);
		for(int i = 0;i < nums.size() * 2;i++){
			int pos = i % nums.size();
			while(!st.empty() && nums[pos] > nums[st.top()]){
				result[st.top()] = nums[pos];
				st.pop();
			}
			st.push(pos);
		}
		return result;
	}
};

int main(){
	
	return 0;
}
